Memory elements contained within an integrated circuit package having a data processor, such as a microcontroller unit (MCU) are typically used to store control programs, data, and other information. Such memory elements include but are not limited to ROM, RAM, EPROM, EAPROM, or EEPROM. There is often a need to prevent read or write accesses to these memory elements for various security reasons. A known security method for protecting unauthorized reading of the contents of memory elements used within a data processor is accomplished with the use of a software programmable bit in a memory configuration register. When the programmable bit is placed in an active state, the bit causes the data processor to operate in one of several possible single-chip modes. In these modes, the data processor is limited by only being able to address on-chip memory for instructions and data, as opposed to addressing memory external to the chip. However, because chip memory space within the chip is typically limited, the instructions and data contained within the chip are also limited in size. If the controller programs or data increase in size within the chip, larger on-chip memory is required to maintain security of the memory elements when operating in a single-chip mode. Another disadvantage with a security feature requiring a single-chip mode of operation is the inability to communicate with any peripheral devices external to the chip. Accordingly, a more general purpose, flexible and inexpensive solution is required for maintaining security of internal memory elements while expanding the microcontroller system.